home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 676-700 / 683 / printfiles / source.lha / Source / prf_swd.c < prev    next >
C/C++ Source or Header  |  1992-06-16  |  22KB  |  605 lines

  1. /* prf_swd.c */
  2. /* V091 9-3-92 */
  3.  
  4. #include "prf.h"
  5. #include <graphics/gfxbase.h>
  6.  
  7. #define WWIDTH_CHAR    39
  8. #define WHEIGHT_CHAR   14
  9. #define P_WWIDTH_CHAR    39
  10. #define P_WHEIGHT_CHAR   14
  11.  
  12. #define LOCATE_X(n) (6 + (info->fw * n) + INTERWIDTH)
  13. #define LOCATE_Y(n) (info->BarHeight + 2 + (info->fh * n) + (n * INTERHEIGHT))
  14. #define LOCATE_W(s) ((info->fw * (1+strlen(s))) + (2 * INTERWIDTH))
  15.  
  16. struct TextAttr topaz8 = {
  17.     ( STRPTR )"topaz.font", 8, 0x00, 0x01 };
  18.  
  19. struct TagItem    SwdTags[] = {
  20.     WA_Left,          10,
  21.     WA_Top,           15,
  22.     WA_Width,         SWD_WIDTH,
  23.     WA_Height,        SWD_HEIGHT,
  24.     WA_IDCMP,         IDCMP_MOUSEBUTTONS|IDCMP_MOUSEMOVE|IDCMP_GADGETDOWN|IDCMP_GADGETUP|IDCMP_CLOSEWINDOW|IDCMP_VANILLAKEY|IDCMP_REFRESHWINDOW,
  25.     WA_Flags,         WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE,
  26.     WA_Gadgets,       0l,
  27.     WA_Title,         (ULONG)SWD_TITLE,
  28.     WA_ScreenTitle,   (ULONG)SCREEN_TITLE,
  29.     WA_MinWidth,      67,
  30.     WA_MinHeight,     21,
  31.     WA_MaxWidth,      640,
  32.     WA_MaxHeight,     256,
  33.     WA_AutoAdjust,    1l,
  34.     TAG_DONE };
  35.  
  36. long __regargs OpenSwd(struct prf_info *info)
  37. {
  38.     struct NewGadget     ng;
  39.     struct Gadget       *g;
  40.     if(info->Swd) return (1L);
  41.     if ( NOT( g = CreateContext( &info->SGlist ))) return( 0L );
  42.         info->fh = GfxBase->DefaultFont->tf_YSize;
  43.         info->fw = GfxBase->DefaultFont->tf_XSize;
  44.         topaz8.ta_Name = GfxBase->DefaultFont->tf_Message.mn_Node.ln_Name;
  45.         topaz8.ta_YSize = info->fh;
  46.     SwdTags[2].ti_Data = (info->fw * (WWIDTH_CHAR) + (2 * INTERWIDTH));
  47.     SwdTags[3].ti_Data = LOCATE_Y(WHEIGHT_CHAR) + INTERHEIGHT;
  48.  
  49.     ng.ng_LeftEdge        =    LOCATE_X(0);
  50.     ng.ng_TopEdge         =    LOCATE_Y(0);
  51.     ng.ng_Width           =    LOCATE_W(GAD_PwdButton);
  52.     ng.ng_Height          =    info->fh + INTERHEIGHT;
  53.     ng.ng_GadgetText      =    GAD_PwdButton;
  54.     ng.ng_TextAttr        =    &topaz8;
  55.     ng.ng_GadgetID        =    GD_PwdButton;
  56.     ng.ng_Flags           =    PLACETEXT_IN;
  57.     ng.ng_VisualInfo      =    info->VisualInfo;
  58.  
  59.     g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
  60.  
  61.     info->SGadgets[ 0 ] = g;
  62.  
  63.     ng.ng_LeftEdge        =    LOCATE_X((WWIDTH_CHAR - 3 - strlen(GAD_About)));
  64.     ng.ng_Width           =    LOCATE_W(GAD_About);
  65.     ng.ng_GadgetText      =    GAD_About;
  66.     ng.ng_GadgetID        =    GD_About;
  67.     ng.ng_Width           =    info->fw * strlen(GAD_About) + INTERWIDTH;
  68.  
  69.     g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
  70.  
  71.     info->SGadgets[ 1 ] = g;
  72.  
  73.     ng.ng_LeftEdge        =    LOCATE_X((1 + strlen(GAD_Headline)));
  74.     ng.ng_TopEdge         =    LOCATE_Y(1);
  75.     ng.ng_Width           =    25 * info->fw;
  76.     ng.ng_GadgetText      =    GAD_Headline;
  77.     ng.ng_GadgetID        =    GD_Headline;
  78.     ng.ng_Flags           =    PLACETEXT_LEFT;
  79.  
  80.     g = CreateGadget( STRING_KIND, g, &ng, GTST_String,info->Headline,GTST_MaxChars, 256, GT_Underscore, '_', TAG_DONE );
  81.  
  82.     info->SGadgets[ 2 ] = g;
  83.     ng.ng_TopEdge         =    LOCATE_Y(2);
  84.     ng.ng_GadgetText      =    GAD_Footline;
  85.     ng.ng_GadgetID        =    GD_Footline;
  86.  
  87.     g = CreateGadget( STRING_KIND, g, &ng, GTST_String,info->Footline,GTST_MaxChars, 256, GT_Underscore, '_', TAG_DONE );
  88.  
  89.     info->SGadgets[ 3 ] = g;
  90.  
  91.     ng.ng_LeftEdge        =    LOCATE_X(0);
  92.     ng.ng_TopEdge         =    LOCATE_Y(3);
  93.     ng.ng_Width           =    LOCATE_W(GAD_Date);
  94.     ng.ng_GadgetText      =    GAD_Date;
  95.     ng.ng_GadgetID        =    GD_Date;
  96.     ng.ng_Flags           =    PLACETEXT_RIGHT;
  97.  
  98.     g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
  99.  
  100.     info->SGadgets[ 4 ] = g;
  101.  
  102.     ng.ng_LeftEdge        =    LOCATE_X(10);
  103.     ng.ng_Width           =    LOCATE_W(GAD_Time);
  104.     ng.ng_GadgetText      =    GAD_Time;
  105.     ng.ng_GadgetID        =    GD_Time;
  106.  
  107.     g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
  108.  
  109.     info->SGadgets[ 5 ] = g;
  110.  
  111.     ng.ng_LeftEdge        =    LOCATE_X((WWIDTH_CHAR - 4 - strlen(GAD_Filename)));
  112.     ng.ng_Width           =    LOCATE_W(GAD_Filename);
  113.     ng.ng_GadgetText      =    GAD_Filename;
  114.     ng.ng_GadgetID        =    GD_Filename;
  115.  
  116.     g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
  117.  
  118.     info->SGadgets[ 6 ] = g;
  119.  
  120.     ng.ng_LeftEdge        =    LOCATE_X(0);
  121.     ng.ng_TopEdge         =    LOCATE_Y(4);
  122.     ng.ng_Width           =    LOCATE_W(GAD_Pagenumber);
  123.     ng.ng_GadgetText      =    GAD_Pagenumber;
  124.     ng.ng_GadgetID        =    GD_Pagenumber;
  125.  
  126.     g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
  127.  
  128.     info->SGadgets[ 7 ] = g;
  129.  
  130.     ng.ng_LeftEdge        =    LOCATE_X((WWIDTH_CHAR - 4 - strlen(GAD_Linenumber)));
  131.     ng.ng_Width           =    LOCATE_W(GAD_Linenumber);
  132.     ng.ng_GadgetText      =    GAD_Linenumber;
  133.     ng.ng_GadgetID        =    GD_Linenumber;
  134.  
  135.     g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
  136.  
  137.     info->SGadgets[ 8 ] = g;
  138.  
  139.     ng.ng_LeftEdge        =    LOCATE_X(0);
  140.     ng.ng_TopEdge         =    LOCATE_Y(5);
  141.     ng.ng_Width           =    LOCATE_W(GAD_FFPAGE);
  142.     ng.ng_GadgetText      =    GAD_FFPAGE;
  143.     ng.ng_GadgetID        =    GD_FFPAGE;
  144.  
  145.     g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
  146.  
  147.     info->SGadgets[ 9 ] = g;
  148.  
  149.     ng.ng_LeftEdge        =    LOCATE_X((WWIDTH_CHAR - 4 - strlen(GAD_FF)));
  150.     ng.ng_Width           =    LOCATE_W(GAD_FF);
  151.     ng.ng_GadgetText      =    GAD_FF;
  152.     ng.ng_GadgetID        =    GD_FF;
  153.  
  154.     g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
  155.  
  156.     info->SGadgets[ 10 ] = g;
  157.  
  158.     ng.ng_LeftEdge        =    LOCATE_X(0);
  159.     ng.ng_TopEdge         =    LOCATE_Y(10);
  160.     ng.ng_Width           =    ((WWIDTH_CHAR - 2) * info->fw);
  161.     ng.ng_GadgetText      =    0l;
  162.     ng.ng_GadgetID        =    GD_Gadget11;
  163.     ng.ng_Flags           =    0;
  164.  
  165.     g = CreateGadget( STRING_KIND, g,&ng,GTST_String,info->Insertline, GTST_MaxChars, 256, TAG_DONE );
  166.  
  167.     info->SGadgets[ 11 ] = g;
  168.  
  169.     ng.ng_LeftEdge        =    LOCATE_X(0);
  170.     ng.ng_TopEdge         =    LOCATE_Y(6);
  171.     ng.ng_Height          =    LOCATE_Y(4);
  172.     ng.ng_GadgetText      =    0l;
  173.     ng.ng_GadgetID        =    GD_List;
  174.  
  175.     g = CreateGadget( LISTVIEW_KIND, g, &ng,GTLV_Labels,&info->FileList, GTLV_ShowSelected, info->SGadgets[11], TAG_DONE );
  176.  
  177.     info->SGadgets[ 12 ] = g;
  178.  
  179.     ng.ng_LeftEdge        =    LOCATE_X(0);
  180.     ng.ng_TopEdge         =    LOCATE_Y(11) + (2 * INTERHEIGHT);
  181.     ng.ng_Width           =    LOCATE_W(GAD_Filereq);
  182.     ng.ng_Height          =    info->fh + INTERHEIGHT;
  183.     ng.ng_GadgetText      =    GAD_Filereq;
  184.     ng.ng_GadgetID        =    GD_Filereq;
  185.     ng.ng_Flags           =    PLACETEXT_IN;
  186.  
  187.     g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
  188.  
  189.     info->SGadgets[ 13 ] = g;
  190.  
  191.     ng.ng_LeftEdge        =    LOCATE_X((WWIDTH_CHAR - 5 - strlen(GAD_Remove)));
  192.     ng.ng_Width           =    LOCATE_W(GAD_Remove);
  193.     ng.ng_GadgetText      =    GAD_Remove;
  194.     ng.ng_GadgetID        =    GD_Remove;
  195.  
  196.     g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
  197.  
  198.     info->SGadgets[ 14 ] = g;
  199.  
  200.     ng.ng_LeftEdge        =    LOCATE_X(0);
  201.     ng.ng_TopEdge         =    LOCATE_Y(12) + (3 * INTERHEIGHT);
  202.     ng.ng_GadgetText      =    GAD_Print;
  203.     ng.ng_GadgetID        =    GD_Print;
  204.  
  205.     g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
  206.  
  207.     info->SGadgets[ 15 ] = g;
  208.  
  209.     ng.ng_LeftEdge        =    LOCATE_X((WWIDTH_CHAR - 5 - strlen(GAD_quit)));
  210.     ng.ng_GadgetText      =    GAD_quit;
  211.     ng.ng_GadgetID        =    GD_quit;
  212.  
  213.     g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
  214.  
  215.     info->SGadgets[ 16 ] = g;
  216.  
  217.     if ( NOT g ) return(0L);
  218.  
  219.     SwdTags[ 6 ].ti_Data = (ULONG)info->SGlist;
  220.  
  221.     if ( NOT( info->Swd = OpenWindowTagList( 0l,SwdTags )))
  222.         return(0L);
  223.  
  224.     GT_RefreshWindow( info->Swd,0l);
  225.     SetPrfSignals(info);
  226.     RefreshSwd(info);
  227.     return( 1L );
  228. }
  229.  
  230. void __regargs CloseSwd(struct prf_info *info)
  231. {
  232.  if (info->Swd)
  233.  {
  234.   SwdTags[0].ti_Data = (ULONG)info->Swd->LeftEdge;
  235.   SwdTags[1].ti_Data = (ULONG)info->Swd->TopEdge;
  236.   strncpy(info->Headline,((struct StringInfo *)info->SGadgets[GD_Headline]->SpecialInfo)->Buffer,STR_SIZE);
  237.   strncpy(info->Footline,((struct StringInfo *)info->SGadgets[GD_Footline]->SpecialInfo)->Buffer,STR_SIZE);
  238.   CloseWindow(info->Swd);
  239.   info->Swd = NULL;
  240.  }
  241.  if(info->SGlist)
  242.  {
  243.   FreeGadgets(info->SGlist);
  244.   info->SGlist = NULL;
  245.  }
  246.  SetPrfSignals(info);
  247. }
  248.  
  249. /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
  250.  
  251.  
  252. UBYTE         *QualityLabels[] = {
  253.     GAD_Quality1,
  254.     GAD_Quality2,
  255.     0l };
  256.  
  257. UBYTE         *PitchLabels[] = {
  258.     GAD_Pitch1,
  259.     GAD_Pitch2,
  260.     0L};
  261.  
  262. UBYTE         *cpiLabels[] = {
  263.     GAD_CPI10,
  264.     GAD_CPI12,
  265.     GAD_CPI15,
  266.     0l };
  267.  
  268. UBYTE         *IconsLabels[] = {
  269.     GAD_ICON1,
  270.     GAD_ICON2,
  271.     GAD_ICON3,
  272.     GAD_ICON4,
  273.     0l };
  274.  
  275. UBYTE         *ProgsLabels[] = {
  276.     GAD_PROG1,
  277.     GAD_PROG2,
  278.     GAD_PROG3,
  279.     GAD_PROG4,
  280.     0l };
  281.  
  282. struct IntuiText  IText[] = {
  283.     2, 0, JAM1,54, 37, &topaz8, (UBYTE *)PWD_T1, &IText[1],
  284.     2, 0, JAM1,199, 37, &topaz8, (UBYTE *)PWD_T2, &IText[2],
  285.     2, 0, JAM1,67, 118, &topaz8, (UBYTE *)PWD_T3, NULL };
  286.  
  287. struct TagItem    PwdTags[] = {
  288.     WA_Left,          261,
  289.     WA_Top,           11,
  290.     WA_Width,         330,
  291.     WA_Height,        180,
  292.     WA_IDCMP,         IDCMP_VANILLAKEY|IDCMP_GADGETDOWN|IDCMP_GADGETUP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  293.     WA_Flags,         WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE,
  294.     WA_Gadgets,       0l,
  295.     WA_Title,         (ULONG)PWD_TITLE,
  296.     WA_ScreenTitle,   (ULONG)SCREEN_TITLE,
  297.     WA_MinWidth,      67,
  298.     WA_MinHeight,     21,
  299.     WA_MaxWidth,      640,
  300.     WA_MaxHeight,     256,
  301.     WA_AutoAdjust,    1l,
  302.     TAG_DONE };
  303.  
  304.  
  305. long __regargs OpenPwd(struct prf_info *info)
  306. {
  307.     struct NewGadget     ng;
  308.     struct Gadget       *g;
  309.     if(info->Pwd) return (1L);
  310.  
  311.     if ( NOT( g = CreateContext( &info->PGlist )))
  312.         return(0L);
  313.     info->fh = GfxBase->DefaultFont->tf_YSize;
  314.     info->fw = GfxBase->DefaultFont->tf_XSize;
  315.     topaz8.ta_Name = GfxBase->DefaultFont->tf_Message.mn_Node.ln_Name;
  316.     topaz8.ta_YSize = info->fh;
  317.     IText[0].TopEdge = LOCATE_Y(3) + GfxBase->DefaultFont->tf_Baseline;
  318.     IText[1].TopEdge = LOCATE_Y(3) + GfxBase->DefaultFont->tf_Baseline;
  319.     IText[2].TopEdge = LOCATE_Y(7) + GfxBase->DefaultFont->tf_Baseline;
  320.     IText[0].LeftEdge = LOCATE_X(3);
  321.     IText[1].LeftEdge = LOCATE_X((P_WWIDTH_CHAR - 2 - strlen(GAD_PROG1)));
  322.     IText[2].LeftEdge = LOCATE_X(5);
  323.  
  324.     PwdTags[2].ti_Data = (info->fw * (P_WWIDTH_CHAR) + (2 * INTERWIDTH));
  325.     PwdTags[3].ti_Data = LOCATE_Y(P_WHEIGHT_CHAR) + INTERHEIGHT;
  326.  
  327.     ng.ng_LeftEdge        =    LOCATE_X(0);
  328.     ng.ng_TopEdge         =    LOCATE_Y(0);
  329.     ng.ng_Width           =    LOCATE_X(4);
  330.     ng.ng_Height          =    info->fh + INTERHEIGHT;
  331.     ng.ng_GadgetText      =    NULL;
  332.     ng.ng_TextAttr        =    &topaz8;
  333.     ng.ng_GadgetID        =    GD_Quality;
  334.     ng.ng_Flags           =    PLACETEXT_RIGHT;
  335.     ng.ng_VisualInfo      =    info->VisualInfo;
  336.  
  337.     g = CreateGadget( MX_KIND, g, &ng, GTMX_Labels, QualityLabels, GT_Underscore, '_', TAG_DONE );
  338.  
  339.     info->PGadgets[ 0 ] = g;
  340.  
  341.     ng.ng_LeftEdge        =    LOCATE_X((P_WWIDTH_CHAR - 4 - strlen(GAD_Pitch1)));
  342.     ng.ng_GadgetText      =    0l;
  343.     ng.ng_GadgetID        =    GD_Pitch;
  344.  
  345.     g = CreateGadget( MX_KIND, g, &ng, GTMX_Labels, PitchLabels, GT_Underscore, '_', TAG_DONE );
  346.  
  347.     info->PGadgets[ 1 ] = g;
  348.  
  349.     ng.ng_LeftEdge        =    LOCATE_X(0);
  350.     ng.ng_TopEdge         =    LOCATE_Y(2);
  351.     ng.ng_GadgetText      =    0l;
  352.     ng.ng_GadgetID        =    GD_cpi;
  353.  
  354.     g = CreateGadget( MX_KIND, g, &ng, GTMX_Labels, cpiLabels, GT_Underscore, '_', TAG_DONE );
  355.  
  356.     info->PGadgets[ 2 ] = g;
  357.  
  358.     ng.ng_LeftEdge        =    LOCATE_X((2 + strlen(GAD_CPI10)));
  359.     ng.ng_GadgetText      =    GAD_Linesperpage;
  360.     ng.ng_GadgetID        =    GD_Linesperpage;
  361.  
  362.     g = CreateGadget( INTEGER_KIND, g, &ng, GTIN_Number, info->Lines, GTIN_MaxChars, 3, TAG_DONE );
  363.  
  364.     info->PGadgets[ 3 ] = g;
  365.  
  366.     ng.ng_TopEdge         =    LOCATE_Y(3);
  367.     ng.ng_GadgetText      =    GAD_Lmargin;
  368.     ng.ng_GadgetID        =    GD_Lmargin;
  369.  
  370.     g = CreateGadget( INTEGER_KIND, g, &ng, GTIN_Number, info->Lmargin, GTIN_MaxChars, 3, TAG_DONE );
  371.  
  372.     info->PGadgets[ 4 ] = g;
  373.  
  374.     ng.ng_LeftEdge        =    LOCATE_X((P_WWIDTH_CHAR - 8));
  375.     ng.ng_GadgetText      =    0l;
  376.     ng.ng_GadgetID        =    GD_Rmargin;
  377.     ng.ng_Flags           =    0;
  378.  
  379.     g = CreateGadget( INTEGER_KIND, g, &ng, GTIN_Number, info->Rmargin, GTIN_MaxChars, 3, TAG_DONE );
  380.  
  381.     info->PGadgets[ 5 ] = g;
  382.  
  383.     ng.ng_LeftEdge        =    LOCATE_X(0);
  384.     ng.ng_TopEdge         =    LOCATE_Y(5);
  385.     ng.ng_GadgetText      =    0l;
  386.     ng.ng_GadgetID        =    GD_Icons;
  387.     ng.ng_Flags           =    PLACETEXT_RIGHT;
  388.  
  389.     g = CreateGadget( MX_KIND, g, &ng, GTMX_Labels, IconsLabels, GT_Underscore, '_', TAG_DONE );
  390.  
  391.     info->PGadgets[ 6 ] = g;
  392.  
  393.     ng.ng_LeftEdge        =    LOCATE_X((P_WWIDTH_CHAR - 4 - strlen(GAD_PROG1)));
  394.     ng.ng_GadgetText      =    0l;
  395.     ng.ng_GadgetID        =    GD_Progs;
  396.  
  397.     g = CreateGadget( MX_KIND, g, &ng, GTMX_Labels, ProgsLabels, GT_Underscore, '_', TAG_DONE );
  398.  
  399.     info->PGadgets[ 7 ] = g;
  400.  
  401.     ng.ng_LeftEdge        =    LOCATE_X((P_WWIDTH_CHAR - 5 - strlen(GAD_include_comment)));
  402.     ng.ng_TopEdge         =    LOCATE_Y(13);
  403.     ng.ng_Width           =    LOCATE_W(GAD_Saveprefs);
  404.     ng.ng_GadgetText      =    GAD_Saveprefs;
  405.     ng.ng_GadgetID        =    GD_Saveprefs;
  406.     ng.ng_Flags           =    0;
  407.  
  408.     g = CreateGadget( BUTTON_KIND, g, &ng, TAG_DONE );
  409.  
  410.     info->PGadgets[ 8 ] = g;
  411.  
  412.     ng.ng_LeftEdge        =    LOCATE_X(0);
  413.     ng.ng_Width           =    LOCATE_W(GAD_PPrint);
  414.     ng.ng_GadgetText      =    GAD_PPrint;
  415.     ng.ng_GadgetID        =    GD_PPrint;
  416.  
  417.     g = CreateGadget( BUTTON_KIND, g, &ng,GT_Underscore,'_', TAG_DONE );
  418.  
  419.     info->PGadgets[ 9 ] = g;
  420.  
  421.     ng.ng_TopEdge         =    LOCATE_Y(9);
  422.     ng.ng_GadgetText      =    GAD_include_comment;
  423.     ng.ng_GadgetID        =    GD_include_comment;
  424.     ng.ng_Flags           =    PLACETEXT_RIGHT;
  425.  
  426.     g = CreateGadget( CHECKBOX_KIND, g, &ng, TAG_DONE );
  427.  
  428.     info->PGadgets[ 10 ] = g;
  429.  
  430.     ng.ng_TopEdge         =    LOCATE_Y(10);
  431.     ng.ng_GadgetText      =    GAD_include_files;
  432.     ng.ng_GadgetID        =    GD_include_files;
  433.  
  434.     g = CreateGadget( CHECKBOX_KIND, g, &ng, TAG_DONE );
  435.  
  436.     info->PGadgets[ 11 ] = g;
  437.  
  438.     ng.ng_TopEdge         =    LOCATE_Y(11);
  439.     ng.ng_GadgetText      =    GAD_include_window;
  440.     ng.ng_GadgetID        =    GD_include_window;
  441.  
  442.     g = CreateGadget( CHECKBOX_KIND, g, &ng, TAG_DONE );
  443.  
  444.     info->PGadgets[ 12 ] = g;
  445.  
  446.     ng.ng_LeftEdge        =    LOCATE_X((P_WWIDTH_CHAR - 5 - strlen(GAD_include_comment)));
  447.     ng.ng_TopEdge         =    LOCATE_Y(9);
  448.     ng.ng_GadgetText      =    GAD_include_reset;
  449.     ng.ng_GadgetID        =    GD_include_reset;
  450.  
  451.     g = CreateGadget( CHECKBOX_KIND, g, &ng, TAG_DONE );
  452.  
  453.     info->PGadgets[ 13 ] = g;
  454.  
  455.     ng.ng_TopEdge         =    LOCATE_Y(10);
  456.     ng.ng_GadgetText      =    GAD_include_print;
  457.     ng.ng_GadgetID        =    GD_include_print;
  458.  
  459.     g = CreateGadget( CHECKBOX_KIND, g, &ng, TAG_DONE );
  460.  
  461.     info->PGadgets[ 14 ] = g;
  462.  
  463.     ng.ng_LeftEdge        =    LOCATE_X(0);
  464.     ng.ng_TopEdge         =    LOCATE_Y(12);
  465.     ng.ng_GadgetText      =    GAD_include_start;
  466.     ng.ng_GadgetID        =    GD_include_start;
  467.  
  468.     g = CreateGadget( CHECKBOX_KIND, g, &ng, TAG_DONE );
  469.  
  470.     info->PGadgets[ 15 ] = g;
  471.  
  472.     ng.ng_LeftEdge        =    LOCATE_X((P_WWIDTH_CHAR - 5 - strlen(GAD_include_comment)));
  473.     ng.ng_TopEdge         =    LOCATE_Y(11);
  474.     ng.ng_GadgetText      =    GAD_include_icon;
  475.     ng.ng_GadgetID        =    GD_include_icon;
  476.  
  477.     g = CreateGadget( CHECKBOX_KIND, g, &ng, TAG_DONE );
  478.  
  479.     info->PGadgets[ 16 ] = g;
  480.  
  481.     ng.ng_TopEdge         =    LOCATE_Y(12);
  482.     ng.ng_GadgetText      =    GAD_include_lines;
  483.     ng.ng_GadgetID        =    GD_include_lines;
  484.  
  485.     g = CreateGadget( CHECKBOX_KIND, g, &ng, TAG_DONE );
  486.  
  487.     info->PGadgets[ 17 ] = g;
  488.  
  489.     if ( NOT g )
  490.         return( 0L );
  491.  
  492.     PwdTags[ 6 ].ti_Data = (ULONG)info->PGlist;
  493.  
  494.     if ( NOT( info->Pwd = OpenWindowTagList( 0l, PwdTags )))
  495.         return( 0L );
  496.  
  497.     GT_RefreshWindow( info->Pwd, 0l );
  498.     SetPrfSignals(info);
  499.     RefreshPwd(info);
  500.     return(1L);
  501. }
  502.  
  503. /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
  504. void __regargs ClosePwd(struct prf_info *info)
  505. {
  506.  if (info->Pwd)
  507.  {
  508.   PwdTags[0].ti_Data = (ULONG)info->Pwd->LeftEdge;
  509.   PwdTags[1].ti_Data = (ULONG)info->Pwd->TopEdge;
  510.   CloseWindow(info->Pwd);
  511.   info->Pwd = NULL;
  512.  }
  513.  if(info->PGlist)
  514.  {
  515.   FreeGadgets(info->PGlist);
  516.   info->PGlist = NULL;
  517.  }
  518.  SetPrfSignals(info);
  519. }
  520.  
  521. void __regargs RefreshPwd(struct prf_info *info)
  522. {
  523.  if(info->Pwd)
  524.  {
  525.   if(info->flags.draft)    GT_SetGadgetAttrs(info->PGadgets[GD_Quality - PGD],info->Pwd,NULL,GTMX_Active,0,TAG_DONE);
  526.   if(info->flags.lq)       GT_SetGadgetAttrs(info->PGadgets[GD_Quality - PGD],info->Pwd,NULL,GTMX_Active,1,TAG_DONE);
  527.   GT_SetGadgetAttrs(info->PGadgets[GD_Pitch - PGD],info->Pwd,NULL,GTMX_Active,info->flags.pitch - 1,TAG_DONE);
  528.   GT_SetGadgetAttrs(info->PGadgets[GD_cpi - PGD],info->Pwd,NULL,GTMX_Active,info->flags.cpi - 1,TAG_DONE);
  529.   GT_SetGadgetAttrs(info->PGadgets[GD_Rmargin - PGD],info->Pwd,NULL,GTIN_Number,info->Rmargin,TAG_DONE);
  530.   GT_SetGadgetAttrs(info->PGadgets[GD_Lmargin - PGD],info->Pwd,NULL,GTIN_Number,info->Lmargin,TAG_DONE);
  531.   GT_SetGadgetAttrs(info->PGadgets[GD_Linesperpage - PGD],info->Pwd,NULL,GTIN_Number,info->Lines,TAG_DONE);
  532.   if(info->flags.print)
  533.    GT_SetGadgetAttrs(info->PGadgets[GD_PPrint - PGD],info->Pwd,NULL,GA_Disabled,TRUE,TAG_DONE);
  534.    else GT_SetGadgetAttrs(info->PGadgets[GD_PPrint - PGD],info->Pwd,NULL,GA_Disabled,FALSE,TAG_DONE);
  535.   if(info->flags.sp_comment)
  536.    GT_SetGadgetAttrs(info->PGadgets[GD_include_comment - PGD],info->Pwd,NULL,GTCB_Checked,TRUE,TAG_DONE);
  537.    else GT_SetGadgetAttrs(info->PGadgets[GD_include_comment - PGD],info->Pwd,NULL,GTCB_Checked,FALSE,TAG_DONE);
  538.   if(info->flags.sp_reset)
  539.   GT_SetGadgetAttrs(info->PGadgets[GD_include_reset - PGD],info->Pwd,NULL,GTCB_Checked,TRUE,TAG_DONE);
  540.   else GT_SetGadgetAttrs(info->PGadgets[GD_include_reset - PGD],info->Pwd,NULL,GTCB_Checked,FALSE,TAG_DONE);
  541.   if(info->flags.sp_files)
  542.    GT_SetGadgetAttrs(info->PGadgets[GD_include_files - PGD],info->Pwd,NULL,GTCB_Checked,TRUE,TAG_DONE);
  543.    else GT_SetGadgetAttrs(info->PGadgets[GD_include_files - PGD],info->Pwd,NULL,GTCB_Checked,FALSE,TAG_DONE);
  544.   if(info->flags.sp_window)
  545.   GT_SetGadgetAttrs(info->PGadgets[GD_include_window - PGD],info->Pwd,NULL,GTCB_Checked,TRUE,TAG_DONE);
  546.   else GT_SetGadgetAttrs(info->PGadgets[GD_include_window - PGD],info->Pwd,NULL,GTCB_Checked,FALSE,TAG_DONE);
  547.   if(info->flags.sp_print)
  548.    GT_SetGadgetAttrs(info->PGadgets[GD_include_print - PGD],info->Pwd,NULL,GTCB_Checked,TRUE,TAG_DONE);
  549.    else GT_SetGadgetAttrs(info->PGadgets[GD_include_print - PGD],info->Pwd,NULL,GTCB_Checked,FALSE,TAG_DONE);
  550.   if(info->flags.sp_icon)
  551.    GT_SetGadgetAttrs(info->PGadgets[GD_include_icon - PGD],info->Pwd,NULL,GTCB_Checked,TRUE,TAG_DONE);
  552.    else GT_SetGadgetAttrs(info->PGadgets[GD_include_icon - PGD],info->Pwd,NULL,GTCB_Checked,FALSE,TAG_DONE);
  553.   if(info->flags.sp_start)
  554.    GT_SetGadgetAttrs(info->PGadgets[GD_include_start - PGD],info->Pwd,NULL,GTCB_Checked,TRUE,TAG_DONE);
  555.    else GT_SetGadgetAttrs(info->PGadgets[GD_include_start - PGD],info->Pwd,NULL,GTCB_Checked,FALSE,TAG_DONE);
  556.   if(info->flags.sp_lines)
  557.    GT_SetGadgetAttrs(info->PGadgets[GD_include_lines - PGD],info->Pwd,NULL,GTCB_Checked,TRUE,TAG_DONE);
  558.    else GT_SetGadgetAttrs(info->PGadgets[GD_include_lines - PGD],info->Pwd,NULL,GTCB_Checked,FALSE,TAG_DONE);
  559.   GT_SetGadgetAttrs(info->PGadgets[GD_Icons - PGD],info->Pwd,NULL,GTMX_Active,info->flags.icon,TAG_DONE);
  560.   GT_SetGadgetAttrs(info->PGadgets[GD_Progs - PGD],info->Pwd,NULL,GTMX_Active,info->flags.prog,TAG_DONE);
  561.   PrintIText( info->Pwd->RPort, IText, 0L,info->BarHeight );
  562.  }
  563. }
  564.  
  565. void __regargs RefreshSwd(struct prf_info *info)
  566. {
  567.  if(info->Swd)
  568.  {
  569.   GT_SetGadgetAttrs(info->SGadgets[GD_Headline],info->Swd,NULL,GTST_String,info->Headline,TAG_DONE);
  570.   GT_SetGadgetAttrs(info->SGadgets[GD_Footline],info->Swd,NULL,GTST_String,info->Footline,TAG_DONE);
  571.   if(info->flags.page)
  572.    GT_SetGadgetAttrs(info->SGadgets[GD_Pagenumber],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
  573.   else
  574.    GT_SetGadgetAttrs(info->SGadgets[GD_Pagenumber],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
  575.   if(info->flags.line)
  576.    GT_SetGadgetAttrs(info->SGadgets[GD_Linenumber],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
  577.   else
  578.    GT_SetGadgetAttrs(info->SGadgets[GD_Linenumber],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
  579.   if(info->flags.ffpage)
  580.    GT_SetGadgetAttrs(info->SGadgets[GD_FFPAGE],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
  581.   else
  582.    GT_SetGadgetAttrs(info->SGadgets[GD_FFPAGE],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
  583.   if(info->flags.ff)
  584.    GT_SetGadgetAttrs(info->SGadgets[GD_FF],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
  585.   else
  586.    GT_SetGadgetAttrs(info->SGadgets[GD_FF],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
  587.   if(info->flags.date)
  588.    GT_SetGadgetAttrs(info->SGadgets[GD_Date],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
  589.   else
  590.    GT_SetGadgetAttrs(info->SGadgets[GD_Date],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
  591.   if(info->flags.time)
  592.    GT_SetGadgetAttrs(info->SGadgets[GD_Time],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
  593.   else
  594.    GT_SetGadgetAttrs(info->SGadgets[GD_Time],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
  595.   if(info->flags.file)
  596.    GT_SetGadgetAttrs(info->SGadgets[GD_Filename],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
  597.   else
  598.    GT_SetGadgetAttrs(info->SGadgets[GD_Filename],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
  599.   if(info->flags.print)
  600.    GT_SetGadgetAttrs(info->SGadgets[GD_Print],info->Swd,NULL,GA_Disabled,TRUE,TAG_DONE);
  601.   AttachList(info);
  602.  }
  603. }
  604.  
  605.